From: kfraser@localhost.localdomain Date: Mon, 23 Oct 2006 11:28:33 +0000 (+0100) Subject: Allow domain config file to specify credit-scheduler parameters. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15585^2~19 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=78cb34992bf7013b47664b062985c22358f6a6ce;p=xen.git Allow domain config file to specify credit-scheduler parameters. Signed-off-by: Masami Watanabe --- diff --git a/tools/python/xen/xend/XendDomain.py b/tools/python/xen/xend/XendDomain.py index 0642b3a8cd..15a3934b12 100644 --- a/tools/python/xen/xend/XendDomain.py +++ b/tools/python/xen/xend/XendDomain.py @@ -227,6 +227,9 @@ class XendDomain: try: dominfo = XendDomainInfo.create(config) self._add_domain(dominfo) + self.domain_sched_credit_set(dominfo.getDomid(), + dominfo.getWeight(), + dominfo.getCap()) return dominfo finally: self.domains_lock.release() diff --git a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py index 748d7fe7f1..a469b93a06 100644 --- a/tools/python/xen/xend/XendDomainInfo.py +++ b/tools/python/xen/xend/XendDomainInfo.py @@ -131,7 +131,8 @@ ROUNDTRIPPING_CONFIG_ENTRIES = [ ('uuid', str), ('vcpus', int), ('vcpu_avail', int), - ('cpu_weight', float), + ('cpu_cap', int), + ('cpu_weight', int), ('memory', int), ('shadow_memory', int), ('maxmem', int), @@ -562,7 +563,8 @@ class XendDomainInfo: defaultInfo('features', lambda: "") defaultInfo('cpu', lambda: None) defaultInfo('cpus', lambda: []) - defaultInfo('cpu_weight', lambda: 1.0) + defaultInfo('cpu_cap', lambda: 0) + defaultInfo('cpu_weight', lambda: 256) # some domains don't have a config file (e.g. dom0 ) # to set number of vcpus so we derive available cpus @@ -826,6 +828,12 @@ class XendDomainInfo: def getResume(self): return "%s" % self.info['resume'] + def getCap(self): + return self.info['cpu_cap'] + + def getWeight(self): + return self.info['cpu_weight'] + def endRestore(self): self.setResume(False) diff --git a/tools/python/xen/xm/create.py b/tools/python/xen/xm/create.py index 48486d8bfc..fa1f23f771 100644 --- a/tools/python/xen/xm/create.py +++ b/tools/python/xen/xm/create.py @@ -189,10 +189,14 @@ gopts.var('vcpus', val='VCPUS', fn=set_int, default=1, use="# of Virtual CPUS in domain.") +gopts.var('cpu_cap', val='CAP', + fn=set_int, default=None, + use="""Set the maximum amount of cpu. + CAP is a percentage that fixes the maximum amount of cpu.""") + gopts.var('cpu_weight', val='WEIGHT', - fn=set_float, default=None, - use="""Set the new domain's cpu weight. - WEIGHT is a float that controls the domain's share of the cpu.""") + fn=set_int, default=None, + use="""Set the cpu time ratio to be allocated to the domain.""") gopts.var('restart', val='onreboot|always|never', fn=set_value, default=None, @@ -687,6 +691,8 @@ def make_config(vals): config.append(['cpu', vals.cpu]) if vals.cpus is not None: config.append(['cpus', vals.cpus]) + if vals.cpu_cap is not None: + config.append(['cpu_cap', vals.cpu_cap]) if vals.cpu_weight is not None: config.append(['cpu_weight', vals.cpu_weight]) if vals.blkif: